package controlador;

import java.io.FileWriter;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;

import ar.uba.fi.algo3.titiritero.ControladorJuego;

import componentes.Juego;

public class GrabarArchivoAccion extends SelectorDeArchivosAccion {

	private Juego juego;
	
	public GrabarArchivoAccion(ControladorJuego controlador, Juego juego){
		super(controlador);
		this.juego = juego;
	}
	
	@Override
	protected String getTituloVentana() {
		return "Elija donde grabar el archivo";
	}

	@Override
	protected void resolverQueHaceConArchivo(String archivo) {
		if (archivo != null){
			Document doc = DocumentHelper.createDocument();
	        doc.add(juego.toXML());
	        try {
				FileWriter writer = new FileWriter(archivo);
				doc.write( writer);
				writer.close();
			} catch (Exception e) {
				throw new RuntimeException("Error al grabar el archivo",e);
			}
		}
	}

	@Override
	protected ValoresDeFileManager getTipoDeDialogo() {
		return ValoresDeFileManager.SAVE;
	}

}
